package jpg1980.gttunes.beans;

import java.util.ArrayList;

public class TuneComplex extends TuneBasic
{

	private int power;
	private int weight;
	private Integer aerodynamicsFront;
	private Integer aerodynamicsRear;
	private int rideHeightFront;
	private int rideHeightRear;
	private int springRateFront;
	private int springRateRear;
	private int damperFront;
	private int damperRear;
	private float toeFront;
	private float toeRear;
	private float camberAngleFront;
	private float camberAngleRear;
	private int brakeBalanceFront;
	private int brakeBalanceRear;
	private Integer torqueDistributionFront;
	private Integer torqueDistributionRear;
	private int maxTurningAngle;
	private int tractionControl;
	private int ABS;
	private String suitedPhysics;
	private String tunerTuneNotes;
	private Game game;
	private ArrayList<Track> suitableTracks;
	private ArrayList<Transmission> transmission;

	public TuneComplex()
	{
		super();
		this.power = -999;
		this.weight = -999;
		this.aerodynamicsFront = -1;
		this.aerodynamicsRear = -1;
		this.rideHeightFront = -999;
		this.rideHeightRear = -999;
		this.springRateFront = -1;
		this.springRateRear = -1;
		this.damperFront = -1;
		this.damperRear = -1;
		this.toeFront = -9.99f;
		this.toeRear = -9.99f;
		this.camberAngleFront = -1.0f;
		this.camberAngleRear = -1.0f;
		this.brakeBalanceFront = -1;
		this.brakeBalanceRear = -1;
		this.torqueDistributionFront = -1;
		this.torqueDistributionRear = -1;
		this.maxTurningAngle = -1;
		this.tractionControl = -1;
		this.ABS = -1;
		this.suitedPhysics = "NA";
		this.tunerTuneNotes = "NA";
		this.game = new Game();
		this.suitableTracks = null;
		this.transmission = null;
	}

	public TuneComplex(
						int tuneID, Car car, int performancePoints, int power, int weight, String driveTrain, String tyresFront, String tyresRear, Integer areodynamicsFront, Integer aerodynamicsRear, int rideHeightFront, int rideHeightRear,
						int springRateFront, int springRateRear, int damperFront, int damperRear, float toeFront, float toeRear, float camberAngleFront, float camberAngleRear, int brakeBalanceFront, int brakeBalanceRear,
						Integer torqueDistributionFront, Integer torqueDistributionRear, int maxTurningAngle, int tractionControl, int ABS, String suitedPhysics, Tuner tuner, String tunerTuneNotes, ArrayList<Track> suitableTracks,
						ArrayList<Transmission> transmission, Game game, float rating)
	{

		super(tuneID, car, performancePoints, tyresFront, tyresRear, tuner, rating);

		this.power = power;
		this.weight = weight;

		this.aerodynamicsFront = areodynamicsFront;
		this.aerodynamicsRear = aerodynamicsRear;
		this.rideHeightFront = rideHeightFront;
		this.rideHeightRear = rideHeightRear;
		this.springRateFront = springRateFront;
		this.springRateRear = springRateRear;
		this.damperFront = damperFront;
		this.damperRear = damperRear;
		this.toeFront = toeFront;
		this.toeRear = toeRear;
		this.camberAngleFront = camberAngleFront;
		this.camberAngleRear = camberAngleRear;
		this.brakeBalanceFront = brakeBalanceFront;
		this.brakeBalanceRear = brakeBalanceRear;
		this.torqueDistributionFront = torqueDistributionFront;
		this.torqueDistributionRear = torqueDistributionRear;
		this.maxTurningAngle = maxTurningAngle;
		this.tractionControl = tractionControl;
		this.ABS = ABS;
		this.suitedPhysics = suitedPhysics;

		this.tunerTuneNotes = tunerTuneNotes;

		this.game = game;
		this.suitableTracks = suitableTracks;
		this.transmission = transmission;

	}

	public int getPower()
	{
		return power;
	}

	public void setPower(int power)
	{
		this.power = power;
	}

	public int getWeight()
	{
		return weight;
	}

	public void setWeight(int weight)
	{
		this.weight = weight;
	}

	public Integer getAerodynamicsFront()
	{
		return aerodynamicsFront;
	}

	public void setAerodynamicsFront(Integer aerodynamicsFront)
	{
		this.aerodynamicsFront = aerodynamicsFront;
	}

	public Integer getAerodynamicsRear()
	{
		return aerodynamicsRear;
	}

	public void setAerodynamicsRear(Integer aerodynamicsRear)
	{
		this.aerodynamicsRear = aerodynamicsRear;
	}

	public int getRideHeightFront()
	{
		return rideHeightFront;
	}

	public void setRideHeightFront(int rideHeightFront)
	{
		this.rideHeightFront = rideHeightFront;
	}

	public int getRideHeightRear()
	{
		return rideHeightRear;
	}

	public void setRideHeightRear(int rideHeightRear)
	{
		this.rideHeightRear = rideHeightRear;
	}

	public int getSpringRateFront()
	{
		return springRateFront;
	}

	public void setSpringRateFront(int springRateFront)
	{
		this.springRateFront = springRateFront;
	}

	public int getSpringRateRear()
	{
		return springRateRear;
	}

	public void setSpringRateRear(int springRateRear)
	{
		this.springRateRear = springRateRear;
	}

	public int getDamperFront()
	{
		return damperFront;
	}

	public void setDamperFront(int damperFront)
	{
		this.damperFront = damperFront;
	}

	public int getDamperRear()
	{
		return damperRear;
	}

	public void setDamperRear(int damperRear)
	{
		this.damperRear = damperRear;
	}

	public float getToeFront()
	{
		return toeFront;
	}

	public void setToeFront(float toeFront)
	{
		this.toeFront = toeFront;
	}

	public float getToeRear()
	{
		return toeRear;
	}

	public void setToeRear(float toeRear)
	{
		this.toeRear = toeRear;
	}

	public float getCamberAngleFront()
	{
		return camberAngleFront;
	}

	public void setCamberAngleFront(float camberAngleFront)
	{
		this.camberAngleFront = camberAngleFront;
	}

	public float getCamberAngleRear()
	{
		return camberAngleRear;
	}

	public void setCamberAngleRear(float camberAngleRear)
	{
		this.camberAngleRear = camberAngleRear;
	}

	public int getBrakeBalanceFront()
	{
		return brakeBalanceFront;
	}

	public void setBrakeBalanceFront(int brakeBalanceFront)
	{
		this.brakeBalanceFront = brakeBalanceFront;
	}

	public int getBrakeBalanceRear()
	{
		return brakeBalanceRear;
	}

	public void setBrakeBalanceRear(int brakeBalanceRear)
	{
		this.brakeBalanceRear = brakeBalanceRear;
	}

	public Integer getTorqueDistributionFront()
	{
		return torqueDistributionFront;
	}

	public void setTorqueDistributionFront(Integer torqueDistributionFront)
	{
		this.torqueDistributionFront = torqueDistributionFront;
	}

	public Integer getTorqueDistributionRear()
	{
		return torqueDistributionRear;
	}

	public void setTorqueDistributionRear(Integer torqueDistributionRear)
	{
		this.torqueDistributionRear = torqueDistributionRear;
	}

	public int getMaxTurningAngle()
	{
		return maxTurningAngle;
	}

	public void setMaxTurningAngle(int maxTurningAngle)
	{
		this.maxTurningAngle = maxTurningAngle;
	}

	public int getTractionControl()
	{
		return tractionControl;
	}

	public void setTractionControl(int tractionControl)
	{
		this.tractionControl = tractionControl;
	}

	public int getABS()
	{
		return ABS;
	}

	public void setABS(int abs)
	{
		ABS = abs;
	}

	public String getSuitedPhysics()
	{
		return suitedPhysics;
	}

	public void setSuitedPhysics(String suitedPhysics)
	{
		this.suitedPhysics = suitedPhysics;
	}

	public String getTunerTuneNotes()
	{
		return tunerTuneNotes;
	}

	public void setTunerTuneNotes(String tunerTuneNotes)
	{
		this.tunerTuneNotes = tunerTuneNotes;
	}

	public Game getGame()
	{
		return game;
	}

	public void setGame(Game game)
	{
		this.game = game;
	}

	public ArrayList<Track> getSuitableTracks()
	{
		return suitableTracks;
	}

	public void setSuitableTracks(ArrayList<Track> suitableTracks)
	{
		this.suitableTracks = suitableTracks;
	}

	public ArrayList<Transmission> getTransmission()
	{
		return transmission;
	}

	public void setTransmission(ArrayList<Transmission> transmission)
	{
		this.transmission = transmission;
	}

}
